package com.jiancong.service;

import com.jiancong.domain.ResponseResult;
import com.jiancong.domain.entity.Menu;
import com.jiancong.domain.vo.MenuTreeVo;
import com.jiancong.domain.vo.RoleMenuTreeResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 菜单权限表(Menu)表服务接口
 *
 * @author makejava
 * @since 2024-05-08 19:07:12
 */
public interface MenuService {
    List<String> selectPermsByUserId(Long id);

    List<Menu> selectRouterMenuTreeByUserId(Long userId);

    List<Menu> getMenuList(String menuName, String status);

    ResponseResult insertMenu(Menu menu);

    Menu selectMenuById(Long id);


    boolean updateMenu(Menu menu);

    boolean isSelfParent(Menu menu);

    List<MenuTreeVo> selectTreeselect();

    RoleMenuTreeResponse getRoleMenuTreeAndPermissions(@Param("id") Long id);
}

